import Vue from 'vue'
import Vuex from 'vuex'
import { comment } from '../../node_modules/postcss';

Vue.use(Vuex)


export default new Vuex.Store({
    // 在state中去声明全局变量，可以通过 this.$store.state 访问
    state: { 
        // 新增编辑分类
        Addclassify:false,
        // 删除
        Delecttpis:false,
        // 新增编辑规格
        Addspec:false,
        // 新增编辑商品
        Addfood:false,
        // 加载中
        loadingbox:false,
        // 提示
        tipsbox:false,
        // 成功提示
        success:false,
        // 设置支付密码
        setpassword:false
    },
    // 在getters中声明state中变量的计算函数，缓存计算后的数据， 通过 this.$store.getters 调用
    getters: {
        
    },
    // 只能执行同步方法，不要去执行异步方法 通过 this.$store.commit 方法去调用
    mutations: {
        // 新增编辑分类
        OPENADDCLASSIFY(state){
            state.Addclassify = true
        },
        // 删除分类
        OPENDELECTTIPS(state){
            state.Delecttpis = true
        },
        // 新增编辑分类
        OPENADDSPEC(state){
            state.Addspec = true
        },
        // 新增编辑商品
        OPENADDFOOD(state){
            state.Addfood = true
        },
        // 加载中
        OPENLOADING(state){
            state.loadingbox = true
        },
        // 提示
        OPENTIPS(state){
            state.tipsbox = true
        },
        BANKGO(state){
            state.success = true
        },
        OPENSETPASSWORD(state){
            state.setpassword = true
        }

        
        
    },
    // 借助actions的手去 执行 mutations ， 通过  this.$store.dispatch 的方式调用
    // 可以用来执行异步操作，可以跟踪异步数据状态变化
    actions: {
        // 新增编辑分类
        openAddclassify({commit}){
            commit('OPENADDCLASSIFY')
        },
        // 删除分类
        openDelecttpis({commit}){
            commit('OPENDELECTTIPS')
        },
        // 新增编辑分类
        openAddspece({commit}){
            commit('OPENADDSPEC')
        },
        // 新增编辑商品
        openAddfood({commit}){
            commit('OPENADDFOOD')
        },
        // 加载中
        openLoading({commit}){
            commit('OPENLOADING')
        },
        // 提示
        openTips({commit}){
            commit('OPENTIPS')
        },
        // 成功提示
        bankgo({commit}){
            commit('BANKGO')
        },
        // 设置支付密码
        opensetpassword({commit}){
            commit('OPENSETPASSWORD')
        }
    }
})